package bo;

import java.sql.SQLException;

import vo.EquipoVO;
import vo.EstadoVO;
import vo.JugadorVO;

import dao.DAOFactory;
import exception.BoException;
import exception.DaoException;

public class JugadorBO extends NegocioBO{

	public void abrirConexion() throws BoException{
		try {
			DAOFactory daoFactory = new DAOFactory();
			this.dao = daoFactory.getJugadorDAO();
		} catch (SQLException aSqlException) {
			throw new BoException(aSqlException.getMessage());
		} catch (DaoException aDaoException) {
			throw new BoException(aDaoException.getMessage());
		} 
	}

	/**
	 * Rellena los datos del jugador
	 * @param aCriteria Datos del jugador a cargar
	 * @return JuegadorVO con los datos del jugador
	 * @throws posible exception a controlar
	 */
	public Object load(Object aCriteria) throws BoException {	
		JugadorVO tmpResultado = (JugadorVO) super.load(aCriteria);
		final EquipoBO tmpEquipoBo = new EquipoBO();
		tmpResultado.setEquipo((EquipoVO) tmpEquipoBo.load(tmpResultado.getEquipo()));
		final EstadoBO tmpEstadoBo = new EstadoBO();
		tmpResultado.setEstado((EstadoVO) tmpEstadoBo.load(tmpResultado.getEstado()));
		return tmpResultado;
	}

}
